package basemod

import (
	"gitee.com/wint/go-csbuf/csbuf"
	"gitee.com/wint/tge/session"
)

// 消息包
type MsgPack struct {
	Msg 	csbuf.CsbufMessage
	Ses 	*session.Session

	// Pd 		*data.PlayerData
}

func NewMsgPack(msg csbuf.CsbufMessage, ses *session.Session) *MsgPack {
	return &MsgPack{msg, ses}
}

func (m *MsgPack) GetMsg() 	csbuf.CsbufMessage {
	return m.Msg
}

func (m *MsgPack) GetSes() 	*session.Session {
	return m.Ses
}

func (m *MsgPack) SetMsg(msg csbuf.CsbufMessage) {
	m.Msg = msg
}

func (m *MsgPack) SetSes(ses *session.Session) {
	m.Ses = ses
}

func (m *MsgPack) GetPlayerId() int32 {
	if nil != m.Ses && nil != m.Ses.GetUserId() {
		if id, ok := m.Ses.GetUserId().(int32); ok {
			return id
		}
	}
	return 0
}

func (m *MsgPack) Send(msg csbuf.CsbufMessage) {
	if nil != m.Ses {
		m.GetSes().Send(msg)
	}
}
